Network based storage (or simply, “network storage”) is a common approach to backing up data, making large amounts of data accessible to multiple users, and other purposes. In a network storage environment, a storage server makes data available to client (host) systems by presenting or exporting to the clients one or more logical containers of data. There are various forms of network storage, including network attached storage (NAS) and storage area network (SAN). In a NAS context, a storage server services file-level requests from clients, whereas in a SAN context a storage server services block-level requests. Some storage servers are capable of servicing both file-level requests and block-level requests.
The technology marketplace has been experiencing several trends that impact existing network storage technologies. For example, the density of magnetic storage media continues to grow in network storage systems, but performance of such media, measured as input-output operations per second (IOPS) per spindle, has not exhibited a similar growth rate. That is, magnetic media have increased in density at a rate greater than the rate at which their speed has increased. As a result, data operations, such as backup, maintenance, recovery of failed drives, etc., take longer to complete, resulting in myriad performance and reliability issues. For example, the longer recovery time of a failed drive presents a window of vulnerability, during which the ability to protect new data is compromised. Moreover, the processing cycles spent in the longer recovery time also affects the overall performance of the storage system.
Presently, the underlying physical layer of a storage system does not have a semantic understanding of the stored data. That is, for example, the underlying physical layer does not distinguish data corresponding to important business information versus data corresponding to scratch-space information. Consequently, the physical layer does not make any effort to distinguish or otherwise prioritize the data for the various data operations. This lack of semantic understanding further exacerbates the performance and reliability issues associated with the various data operations.